1. Field of the Invention
The present invention is related generally to data multiplexers/demultiplexers utilized with asynchronous data streams, and more particularly to high speed asynchronous data multiplexers/demultiplexers that combine or multiplex a quantity of independent and asynchronous data streams received at a first location into one data stream, and then demultiplex them and present them at a remote site in the identical form in which they were supplied.
2. Description of Related Art
A multiplexer is a device for simultaneous transmission of separate information streams. As applied to data communications, the term "multiplexer" refers to methods for sharing communications resources. A typical use for multiplexers/demultiplexers is in the telemetry field. In this application, multiple independent data streams from a test vehicle are transmitted to a remote site where the data is multiplexed and retransmitted to a different facility, at which the data is processed and reduced for display and analysis.
Communication of data between a multiplexer and demultiplexer is typically accomplished utilizing a frame structure. A frame is a group of data that is transmitted together with synchronization and identification data that can be identified by the receiving device. Conventional multiplexed data is transmitted using a frame format containing data from all of the input signals to be multiplexed. Typical frame structures include data embedded within the frame that describes the position of the data from the various inputs within that frame. Thus, the typical frame contains data from all the different inputs being multiplexed within each frame, and information describing the location of the data from each input within the frame, so that the demultiplexer can shift the data to the appropriate output channel.
Typically portions of an overall message, or of a particular input signal, are arranged so that the interval between segments of the message are uniform. A phase locked loop may be used to stabilize the output clock bit rate of the multiplexer based on the bit arrival frequency. However, if the data rates within the system change slightly or if the data is asynchronous, filler bits are employed to complete particular time-slots. The filler bits then must be identified by codes within the frame structure, for deletion from the output. This increases system complexity.
The conventional solution to problems with the standard frame format, in which data segments from each input signal are separated at equal intervals, is to put all the data, i.e. segments of messages from all the input signals, into one main data frame. Within this frame, individual words (that is, relatively small numbers of bits) of the input signals to be multiplexed are sent at intervals together with header and other non-message information indicating the parameters required to decode the multiplex signal, such as bit rate clocking information. Clearly, where a number of channels are to be multiplexed, this non-message information may be coextensive in amount with the actual message information itself. Hence, conventional multiplexers have a very limited information transmitting capability as compared to the total number of bits (that is, control information as well as data) which are transmitted from multiplexer to demultiplexer. Accordingly, this conventional approach requires sophisticated data processing and correspondingly complex methodology to construct and decompose the frame. Data transmission then becomes bandwidth limited, reducing throughput.
Typically, a multiplexing algorithm is employed to construct the data frame so as to place data from all of the individual input channels into the overall data structure to be communicated from the multiplexer to the demultiplexer. Where the input bit rates of the various input signals vary somewhat, as is largely inevitable, some "jitter" is introduced by the multiplexing algorithm. This jitter is difficult for system hardware to smooth out without losing the bit count integrity of the transmitted data stream.
Additionally, conventional devices require complete reprogramming to reconfigure the system every time the user desires to increase or decrease the number of channels input to the multiplexer/demultiplexer, adding to system cost and wasted manpower.